#pragma once
#include "Header.h"
#include "define.h"

class CEditTest
{
public:
    BEGIN_WINDOW_PART2(XEditTest, CWindowImpl<XEditTest>)

        //
        //  static ATL::CWndClassInfo& GetWndClassInfo() \
        //  { \
        //      static ATL::CWndClassInfo wc = \
        //      { \
        //          { sizeof(WNDCLASSEX), 0, StartWindowProc, \
        //              0, 0, NULL, NULL, NULL, NULL, NULL, WndClassName, NULL }, \
        //          OrigWndClassName, NULL, NULL, TRUE, 0, _T("") \
        //      }; \
        //      return wc; \
        //  }
        //

        DECLARE_WND_SUPERCLASS(0, L"EDIT")

        virtual BOOL ProcessWindowMessage(
            _In_ HWND hWnd,
            _In_ UINT uMsg,
            _In_ WPARAM wParam,
            _In_ LPARAM lParam,
            _Inout_ LRESULT& lResult,
            _In_ DWORD dwMsgMapID
        );
    END_WINDOW_PART2(XEditTest, m_xEditTest)
};

class CWinTest
{
    CEditTest m_EditTest;

public:
    BEGIN_WINDOW_PART2(XWinTest, CWindowImpl<XWinTest>)
        virtual BOOL ProcessWindowMessage(
            _In_ HWND hWnd,
            _In_ UINT uMsg,
            _In_ WPARAM wParam,
            _In_ LPARAM lParam,
            _Inout_ LRESULT& lResult,
            _In_ DWORD dwMsgMapID
        );
    END_WINDOW_PART2(XWinTest, m_xWinTest)
};
